package com.algorithm.array.interfaces;


/**
 * list 接口定义
 */
public interface List {

    /**
     * 添加数据
     * @param value
     */
    boolean add(int value);

    /**
     * 获取数据
     * @param index
     */
    int get(int index);

    /**
     * 删除某个下标的数据 返回删除的数据
     * @param index
     */
    int remove(int index);

    /**
     * 清空 list
     */
    boolean clear();

    /**
     * 给某个下标复制
     * @param index
     * @param value
     */
    boolean put(int index,int value);

    /**
     * 在某个位置插入 一个数值
     * @param index
     * @param value
     * @return
     */
    boolean insert(int index,int value);

    /**
     * 获取list size
     */
    int getSize();

    /**
     * 判断是否为空
     * @return
     */
    boolean isEmpty();


    /**
     * 判断内容是否存在列表中
     * @return
     */
    int indexOf(int value);



}
